This invention relates generally to graphic rendering, and more particularly to rendering surface models of three-dimensional objects.
The generation of surface models of scanned three-dimensional objects is important for many applications. Anatomical structures scanned by medical imagery equipment aids clinical diagnosis, surgical simulation and planning, and image-guided surgery. A scan of an anatomical structure typically includes high-resolution data in the imaging plane and significantly lower resolution data between imaging slices. The lack of high-resolution information along the scanning direction causes aliasing, or terracing, artifacts in rendered surface models. These artifacts can distract or mislead the viewer. For surgical simulation, the terracing artifacts impede the realism of the visualization. For surgical simulation, the terraces produce the effect of very noticeable ridges when using haptic devices to sense the surface of the structure.
Terracing artifacts can be reduced by increasing the resolution of the scan. However, for CT scans, higher resolution between imaging planes exposes patients to a higher dose of radiation. For MR scans, longer scan times are necessary to achieve higher resolution. Long scan times increase cost and patient discomfort.
In clinical applications, scans are usually acquired in more than one direction. For example, instead of acquiring a single high resolution sagittal scan, lower resolution sagittal and axial scans may be acquired. Physicians use all scans for diagnosis, surgical guidance, and treatment.
In the prior art, two basic methods are commonly used to fit surfaces to binary data. In the first basic method, the binary data are low-pass filtered, and an algorithm, such as xe2x80x9cmarching cubes,xe2x80x9d is applied. There, the surface is built through each cube at an iso-surface of the gray-scale data, see Lorensen et al., xe2x80x9cMarching cubes: a high resolution 3-D surface construction algorithm,xe2x80x9d Proc. SIGGRAPH 87, pp. 163-169, 1989. In order to remove terracing artifacts and to reduce the number of triangles in the triangulated surface, surface smoothing and decimation algorithms can be applied. However, because these procedures are applied to the surface without reference to the original segmentation, they can result in a loss of fine detail.
In the second basic method for fitting a surface to binary data, the binary object is enclosed by a parametric or spline surface. Control points on the spline surface are moved to converge with the binary data in order to minimize an energy function based on surface curvature and distance between the binary surface and the parametric surface. Such a method can be used to detect and track the surface of the left ventricle of the heart in sequences of MRI data, see McInerney et al., xe2x80x9cDeformable models in medical image analysis: a survey,xe2x80x9d Medical Image Analysis 1(2), pp. 91-108, 1996.
A similar technique is used to generate a surface model of muscle from segmented data. Takanahi et al., xe2x80x9c3-D active net for volume extraction,xe2x80x9d Proc. SPIE Electronic Imaging 1998, pp. 184-193, 1998. This approach has two main drawbacks for general applications. First, it is difficult to determine how many control points will be needed to ensure sufficient detail in the final model. Second, that method does not easily handle complex topologies.
Recently, a single constrained elastic surface net has been used to generate a surface model, see Gibson, xe2x80x9cConstrained Elastic Surface nets: generating smooth surfaces from binary segmented data,xe2x80x9d MICCAI, 1998. There, an elastic surface net is fit to nodes placed on the surface of a binary segmented volume data. The nodes are moved so as to reduce the surface curvature of the net while constraining the net to remain within a distance of one voxel from the surface. This approach produces smooth surface models from binary segmented data that are faithful to the original segmentation.
However, terracing artifacts can still be a problem unless a very high resolution scan is used. Therefore, it is desired to generate a smooth surface representation from low-resolution scans.
The invention provides a method for generating a surface model for a three-dimensional object. The object can be any three dimensional physical structure or system that can be scanned, for example anatomical structures, turbine blades, machinery, and the like. The scanning can use any sensing modality such as medical imagery, radar, seismic waves, etc.
According to the invention, the object of interest is scanned from a plurality of scanning directions to produce a volume data for each scanning direction. The volume data is composed of voxels arranged as a three-dimensional data structure in a memory. Each voxel stores information related to the characteristics of the object at the corresponding location. As an advantage of the invention, the scans can be at a lower resolution than is normal for constructing 3D models.
Each volume data is segmented to extract or identify data associated with the object. The segmentation can be performed by labeling voxels of each volume. The volume data of each scan is then registered to a common coordinate frame by solving the six degrees of freedom pose of the object with respect to the various scanning directions.
After registration, a surface net is initialized for each volume data. The geometry of the initial surface net is determined by surface nodes located at the center of surface cells. A surface cell is the portion of the volume between eight neighboring voxels that straddle the surface of object.
The multiple surface nets are relaxed interdependently according to the common coordinate frame to generate a renderable surface model. The interdependent relaxation is done according to an iterative process that reduces the energy measured in links connecting the nodes. One example of an energy measure is the sum of the squared distances between neighboring surface nodes.
After the surface nets converge, to a predetermined criteria, one of the nets can be selected for rendering as a surface model that is true to the segmented volume data.